package com.cloudlead.commonData.vo;

import com.cloudlead.common.lang.persistence.AbstractIdEntity;

import com.cloudlead.commonData.action.validator.BaseShipRoutePriceValidatorGroup.*;

import org.joda.time.LocalDate;
import javax.validation.constraints.Size;
import java.lang.Double;
import com.cloudlead.common.lang.annotation.BelongsTos;
import com.cloudlead.common.lang.annotation.Domain;
import com.cloudlead.common.lang.annotation.Label;
import java.lang.String;
import javax.validation.constraints.NotNull;
import java.lang.Integer;
import com.cloudlead.commonData.vo.BaseCompany;
import com.cloudlead.commonData.vo.BaseShipRoute;

/**
 * BaseShipRoutePrice is a Codegen vo type
 */
@Label("航线报价表")
@BelongsTos(values = {
	@com.cloudlead.common.lang.annotation.BelongsTo(property="baseCompany", rootField="baseCompanyId")
,	@com.cloudlead.common.lang.annotation.BelongsTo(property="baseShipRoute", rootField="baseShipRouteId")
,	@com.cloudlead.common.lang.annotation.BelongsTo(property="shipOwnerCompa", rootField="shipOwnerCompany")
})
@Domain(domainClassName="com.cloudlead.commonData.entity.EBaseShipRoutePrice")
public class BaseShipRoutePrice extends AbstractIdEntity<String> {

    private static final long serialVersionUID =7089737065293L;    
    @NotNull(groups={Create.class,Update.class})
    @Label("baseCompanyId")
    private BaseCompany baseCompany;

    @NotNull(groups={Create.class,Update.class})
    @Label("baseShipRouteId")
    private BaseShipRoute baseShipRoute;

    @Label("空箱")
    private Double containerNull;

    @Label("箱尺寸")
    @Size(max=45)
    private String containerSize;

    @Label("箱子类型")
    @Size(max=45)
    private String containerType;

    @Label("有效期")
    private LocalDate expiresEnd;

    @Label("expiresStart")
    private LocalDate expiresStart;

    @Label("删除标记")
    @Size(max=8)
    private String flag;

    @Label("货代编号")
    @Size(max=45)
    private String forwarderId;

    @Label("20GP")
    private Double gp20;

    @Label("40GP")
    private Double gp40;

    @Label("40HC")
    private Double hc40;

    @NotNull(groups={Update.class})
    @Label("id")
    @Size(max=24)
    private String id;

    @Label("箱量上限")
    private Integer maxNum;

    @Label("单价")
    private Double price;

    @Label("船公司")
    private BaseCompany shipOwnerCompa;

    @Label("航线编号")
    @Size(max=45)
    private String shipRouteId;

    @Label("40TK")
    private Double tk40;

    public BaseCompany getBaseCompany() {
        return baseCompany;
    }

    public void setBaseCompany(BaseCompany baseCompany) {
        this.baseCompany = baseCompany;
    }

    public BaseShipRoute getBaseShipRoute() {
        return baseShipRoute;
    }

    public void setBaseShipRoute(BaseShipRoute baseShipRoute) {
        this.baseShipRoute = baseShipRoute;
    }

    public Double getContainerNull() {
        return containerNull;
    }

    public void setContainerNull(Double containerNull) {
        this.containerNull = containerNull;
    }

    public String getContainerSize() {
        return containerSize;
    }

    public void setContainerSize(String containerSize) {
        this.containerSize = containerSize;
    }

    public String getContainerType() {
        return containerType;
    }

    public void setContainerType(String containerType) {
        this.containerType = containerType;
    }

    public LocalDate getExpiresEnd() {
        return expiresEnd;
    }

    public void setExpiresEnd(LocalDate expiresEnd) {
        this.expiresEnd = expiresEnd;
    }

    public LocalDate getExpiresStart() {
        return expiresStart;
    }

    public void setExpiresStart(LocalDate expiresStart) {
        this.expiresStart = expiresStart;
    }

    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    public String getForwarderId() {
        return forwarderId;
    }

    public void setForwarderId(String forwarderId) {
        this.forwarderId = forwarderId;
    }

    public Double getGp20() {
        return gp20;
    }

    public void setGp20(Double gp20) {
        this.gp20 = gp20;
    }

    public Double getGp40() {
        return gp40;
    }

    public void setGp40(Double gp40) {
        this.gp40 = gp40;
    }

    public Double getHc40() {
        return hc40;
    }

    public void setHc40(Double hc40) {
        this.hc40 = hc40;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Integer getMaxNum() {
        return maxNum;
    }

    public void setMaxNum(Integer maxNum) {
        this.maxNum = maxNum;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public BaseCompany getShipOwnerCompa() {
        return shipOwnerCompa;
    }

    public void setShipOwnerCompa(BaseCompany shipOwnerCompa) {
        this.shipOwnerCompa = shipOwnerCompa;
    }

    public String getShipRouteId() {
        return shipRouteId;
    }

    public void setShipRouteId(String shipRouteId) {
        this.shipRouteId = shipRouteId;
    }

    public Double getTk40() {
        return tk40;
    }

    public void setTk40(Double tk40) {
        this.tk40 = tk40;
    }

    public String toString() {
         return String.format("BaseShipRoutePrice { baseCompany : %s,baseShipRoute : %s,containerNull : %s,containerSize : %s,containerType : %s,expiresEnd : %s,expiresStart : %s,flag : %s,forwarderId : %s,gp20 : %s,gp40 : %s,hc40 : %s,id : %s,maxNum : %s,price : %s,shipOwnerCompa : %s,shipRouteId : %s,tk40 : %s }",baseCompany,baseShipRoute,containerNull,containerSize,containerType,expiresEnd,expiresStart,flag,forwarderId,gp20,gp40,hc40,id,maxNum,price,shipOwnerCompa,shipRouteId,tk40);
    }

}

